<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>cbp2make: CCodeBlocksWorkspace Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">cbp2make
   </div>
   <div id="projectbrief">Makefile generation tool for Code::Blocks IDE</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dd/d7d/classCCodeBlocksWorkspace-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CCodeBlocksWorkspace Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Workspace description.  
 <a href="../../d8/d67/classCCodeBlocksWorkspace.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="../../d0/d86/cbworkspace_8h_source.html">cbworkspace.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab3fd3af0485cacef0644ddcab5d7e162"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#ab3fd3af0485cacef0644ddcab5d7e162">Clear</a> (void)</td></tr>
<tr class="memdesc:ab3fd3af0485cacef0644ddcab5d7e162"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the workspace to the initial state.  <a href="#ab3fd3af0485cacef0644ddcab5d7e162">More...</a><br/></td></tr>
<tr class="separator:ab3fd3af0485cacef0644ddcab5d7e162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ce65be75b14721a7467133705f49d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a42ce65be75b14721a7467133705f49d0">Read</a> (const TiXmlElement *WorkspaceRoot)</td></tr>
<tr class="memdesc:a42ce65be75b14721a7467133705f49d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the workspace settings from an XML document.  <a href="#a42ce65be75b14721a7467133705f49d0">More...</a><br/></td></tr>
<tr class="separator:a42ce65be75b14721a7467133705f49d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad152d19f3596ea14a286348db0a1cfbc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#ad152d19f3596ea14a286348db0a1cfbc">LoadWorkspaceProjects</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;WorkspacePath)</td></tr>
<tr class="memdesc:ad152d19f3596ea14a286348db0a1cfbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads all workspace units (projects) in the workspace.  <a href="#ad152d19f3596ea14a286348db0a1cfbc">More...</a><br/></td></tr>
<tr class="separator:ad152d19f3596ea14a286348db0a1cfbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963cd06ba0427bca3dcef2e4281b2c69"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a963cd06ba0427bca3dcef2e4281b2c69">LoadWorkspace</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;FileName)</td></tr>
<tr class="memdesc:a963cd06ba0427bca3dcef2e4281b2c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a workspace from a file specified by <em>FileName</em>.  <a href="#a963cd06ba0427bca3dcef2e4281b2c69">More...</a><br/></td></tr>
<tr class="separator:a963cd06ba0427bca3dcef2e4281b2c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85196730e4c07db6e910034bb2600f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#ac85196730e4c07db6e910034bb2600f7">Show</a> (const bool ShowProjects=false)</td></tr>
<tr class="memdesc:ac85196730e4c07db6e910034bb2600f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the workspace contents and (optionally) contents of workspace units (projects) to standard output.  <a href="#ac85196730e4c07db6e910034bb2600f7">More...</a><br/></td></tr>
<tr class="separator:ac85196730e4c07db6e910034bb2600f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2057d5876c3e450b04295066dcaef035"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035">GenerateMakefile</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;FileName, <a class="el" href="../../d6/d13/classCCodeBlocksBuildConfig.html">CCodeBlocksBuildConfig</a> &amp;Config)</td></tr>
<tr class="memdesc:a2057d5876c3e450b04295066dcaef035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates makefile and writes its text representation to a file specified by <em>FileName</em>.  <a href="#a2057d5876c3e450b04295066dcaef035">More...</a><br/></td></tr>
<tr class="separator:a2057d5876c3e450b04295066dcaef035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef881aafe1c5e43a56ffdcff6b8d8b8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aef881aafe1c5e43a56ffdcff6b8d8b8d">GenerateMakefileText</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;FileName, <a class="el" href="../../d6/d13/classCCodeBlocksBuildConfig.html">CCodeBlocksBuildConfig</a> &amp;Config)</td></tr>
<tr class="memdesc:aef881aafe1c5e43a56ffdcff6b8d8b8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates makefile text and writes it to a file specified by <em>FileName</em>.  <a href="#aef881aafe1c5e43a56ffdcff6b8d8b8d">More...</a><br/></td></tr>
<tr class="separator:aef881aafe1c5e43a56ffdcff6b8d8b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace587b370700c298536c5d65d1f29b88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#ace587b370700c298536c5d65d1f29b88">CCodeBlocksWorkspace</a> (void)</td></tr>
<tr class="memdesc:ace587b370700c298536c5d65d1f29b88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create workspace.  <a href="#ace587b370700c298536c5d65d1f29b88">More...</a><br/></td></tr>
<tr class="separator:ace587b370700c298536c5d65d1f29b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb3537cae380cec19879e73fe8887a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aaeb3537cae380cec19879e73fe8887a2">~CCodeBlocksWorkspace</a> (void)</td></tr>
<tr class="memdesc:aaeb3537cae380cec19879e73fe8887a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys workspace.  <a href="#aaeb3537cae380cec19879e73fe8887a2">More...</a><br/></td></tr>
<tr class="separator:aaeb3537cae380cec19879e73fe8887a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a744f6469c1941fa666eb7107bf4a4e02"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a744f6469c1941fa666eb7107bf4a4e02">CalculateProjectWeight</a> (const size_t Index=0)</td></tr>
<tr class="memdesc:a744f6469c1941fa666eb7107bf4a4e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates weight (priority) of a single workspace unit (project) with number <em>Index</em>.  <a href="#a744f6469c1941fa666eb7107bf4a4e02">More...</a><br/></td></tr>
<tr class="separator:a744f6469c1941fa666eb7107bf4a4e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e1ed6973a47f6ed7a73c2769eaba68d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a1e1ed6973a47f6ed7a73c2769eaba68d">ResolveProjectDependencies</a> (void)</td></tr>
<tr class="memdesc:a1e1ed6973a47f6ed7a73c2769eaba68d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves workspace unit (project) dependencies by calculating project weights.  <a href="#a1e1ed6973a47f6ed7a73c2769eaba68d">More...</a><br/></td></tr>
<tr class="separator:a1e1ed6973a47f6ed7a73c2769eaba68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52cc49715dfa46321f77f099a6d9c261"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a52cc49715dfa46321f77f099a6d9c261">SortProjectsByWeight</a> (void)</td></tr>
<tr class="memdesc:a52cc49715dfa46321f77f099a6d9c261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorts workspace units (projects) by weight in ascending order.  <a href="#a52cc49715dfa46321f77f099a6d9c261">More...</a><br/></td></tr>
<tr class="separator:a52cc49715dfa46321f77f099a6d9c261"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:adbae0f57273b1e8e46b983859942476a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/da9/classCString.html">CString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#adbae0f57273b1e8e46b983859942476a">m_Title</a></td></tr>
<tr class="memdesc:adbae0f57273b1e8e46b983859942476a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Title of the workspace.  <a href="#adbae0f57273b1e8e46b983859942476a">More...</a><br/></td></tr>
<tr class="separator:adbae0f57273b1e8e46b983859942476a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa76c64684c8b462b93a7066477a8e8fc"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="../../da/d0a/classCWorkspaceUnit.html">CWorkspaceUnit</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aa76c64684c8b462b93a7066477a8e8fc">m_Units</a></td></tr>
<tr class="memdesc:aa76c64684c8b462b93a7066477a8e8fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of workspace units (projects) in the workspace.  <a href="#aa76c64684c8b462b93a7066477a8e8fc">More...</a><br/></td></tr>
<tr class="separator:aa76c64684c8b462b93a7066477a8e8fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad71e4af12c3f47eea577bef49a71433"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aad71e4af12c3f47eea577bef49a71433">m_TargetNames</a></td></tr>
<tr class="memdesc:aad71e4af12c3f47eea577bef49a71433"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of build target names of workspace units.  <a href="#aad71e4af12c3f47eea577bef49a71433">More...</a><br/></td></tr>
<tr class="separator:aad71e4af12c3f47eea577bef49a71433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d068259798bb7878ebbac957cdc8c58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a6d068259798bb7878ebbac957cdc8c58">m_MakefileNames</a></td></tr>
<tr class="memdesc:a6d068259798bb7878ebbac957cdc8c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of makefile names of workspace units.  <a href="#a6d068259798bb7878ebbac957cdc8c58">More...</a><br/></td></tr>
<tr class="separator:a6d068259798bb7878ebbac957cdc8c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1b3293bb2f0a1ae7783bb645f216f62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aa1b3293bb2f0a1ae7783bb645f216f62">m_MakefilePaths</a></td></tr>
<tr class="memdesc:aa1b3293bb2f0a1ae7783bb645f216f62"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of makefile paths of workspace units.  <a href="#aa1b3293bb2f0a1ae7783bb645f216f62">More...</a><br/></td></tr>
<tr class="separator:aa1b3293bb2f0a1ae7783bb645f216f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e1d4659d90551a37aa3f9f2254dff34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a5e1d4659d90551a37aa3f9f2254dff34">m_TargetDeps</a></td></tr>
<tr class="memdesc:a5e1d4659d90551a37aa3f9f2254dff34"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of dependencies of workspace units.  <a href="#a5e1d4659d90551a37aa3f9f2254dff34">More...</a><br/></td></tr>
<tr class="separator:a5e1d4659d90551a37aa3f9f2254dff34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95da319fd45ea58130eb821412f268ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a95da319fd45ea58130eb821412f268ce">m_MakefileText</a></td></tr>
<tr class="memdesc:a95da319fd45ea58130eb821412f268ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains plain text of makefile for the workspace.  <a href="#a95da319fd45ea58130eb821412f268ce">More...</a><br/></td></tr>
<tr class="separator:a95da319fd45ea58130eb821412f268ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616bd5ca6e64a9694a09ed2361f599ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d98/classCMakefile.html">CMakefile</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a616bd5ca6e64a9694a09ed2361f599ef">m_Makefile</a></td></tr>
<tr class="memdesc:a616bd5ca6e64a9694a09ed2361f599ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains object-based makefile for the workspace.  <a href="#a616bd5ca6e64a9694a09ed2361f599ef">More...</a><br/></td></tr>
<tr class="separator:a616bd5ca6e64a9694a09ed2361f599ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Workspace description. </p>
<p>Contains properties of Code::Blocks workspace. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ace587b370700c298536c5d65d1f29b88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::CCodeBlocksWorkspace </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create workspace. </p>

</div>
</div>
<a class="anchor" id="aaeb3537cae380cec19879e73fe8887a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::~CCodeBlocksWorkspace </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys workspace. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a744f6469c1941fa666eb7107bf4a4e02"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::CalculateProjectWeight </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em> = <code>0</code>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculates weight (priority) of a single workspace unit (project) with number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a workspace unit (project). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>weight of a project.</dd></dl>
<p>This function is a part of the core mechanism for resolving project dependencies. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a1e1ed6973a47f6ed7a73c2769eaba68d" title="Resolves workspace unit (project) dependencies by calculating project weights. ">CCodeBlocksWorkspace::ResolveProjectDependencies(void)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab3fd3af0485cacef0644ddcab5d7e162"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::Clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the workspace to the initial state. </p>

</div>
</div>
<a class="anchor" id="a2057d5876c3e450b04295066dcaef035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::GenerateMakefile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>FileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d6/d13/classCCodeBlocksBuildConfig.html">CCodeBlocksBuildConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>Config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates makefile and writes its text representation to a file specified by <em>FileName</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">FileName</td><td>a file name for makefile of the workspace.</td></tr>
    <tr><td class="paramname">Config</td><td>build configuration.</td></tr>
  </table>
  </dd>
</dl>
<p>This function generates makefile text only for the workspace, makefiles for individual projects in the workspace are generated by <a class="el" href="../../da/d32/classCCodeBlocksProject.html" title="Project description. ">CCodeBlocksProject</a>. </p>

</div>
</div>
<a class="anchor" id="aef881aafe1c5e43a56ffdcff6b8d8b8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::GenerateMakefileText </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>FileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d6/d13/classCCodeBlocksBuildConfig.html">CCodeBlocksBuildConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>Config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates makefile text and writes it to a file specified by <em>FileName</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">FileName</td><td>a file name for makefile of the workspace.</td></tr>
    <tr><td class="paramname">Config</td><td>build configuration.</td></tr>
  </table>
  </dd>
</dl>
<p>This function generates makefile text only for the workspace, makefiles for individual projects in the workspace are generated by <a class="el" href="../../da/d32/classCCodeBlocksProject.html" title="Project description. ">CCodeBlocksProject</a>. </p>

</div>
</div>
<a class="anchor" id="a963cd06ba0427bca3dcef2e4281b2c69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::LoadWorkspace </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>FileName</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Loads a workspace from a file specified by <em>FileName</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">FileName</td><td>name of Code::Blocks workspace file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> if specified workspace and all of its units (projects) were successfully loaded, <em>false</em> otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ad152d19f3596ea14a286348db0a1cfbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::LoadWorkspaceProjects </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>WorkspacePath</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Loads all workspace units (projects) in the workspace. </p>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> if all of projects were successfully loaded, <em>false</em> otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a42ce65be75b14721a7467133705f49d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::Read </td>
          <td>(</td>
          <td class="paramtype">const TiXmlElement *&#160;</td>
          <td class="paramname"><em>WorkspaceRoot</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the workspace settings from an XML document. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">WorkspaceRoot</td><td>an element of XML document. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1e1ed6973a47f6ed7a73c2769eaba68d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::ResolveProjectDependencies </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Resolves workspace unit (project) dependencies by calculating project weights. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a744f6469c1941fa666eb7107bf4a4e02" title="Calculates weight (priority) of a single workspace unit (project) with number Index. ">CCodeBlocksWorkspace::CalculateProjectWeight</a>(const size_t Index = 0) </dd></dl>

</div>
</div>
<a class="anchor" id="ac85196730e4c07db6e910034bb2600f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::Show </td>
          <td>(</td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>ShowProjects</em> = <code>false</code>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prints the workspace contents and (optionally) contents of workspace units (projects) to standard output. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ShowProjects</td><td>tell to display contents of workspace units. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a52cc49715dfa46321f77f099a6d9c261"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::SortProjectsByWeight </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sorts workspace units (projects) by weight in ascending order. </p>
<p>This function is a part of the core mechanism for resolving project dependencies. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a1e1ed6973a47f6ed7a73c2769eaba68d" title="Resolves workspace unit (project) dependencies by calculating project weights. ">CCodeBlocksWorkspace::ResolveProjectDependencies(void)</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a616bd5ca6e64a9694a09ed2361f599ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_Makefile</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Contains object-based makefile for the workspace. </p>
<p>Contents of makefile are generated by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035" title="Generates makefile and writes its text representation to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefile(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a> before saving to a file. </p>

</div>
</div>
<a class="anchor" id="a6d068259798bb7878ebbac957cdc8c58"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_MakefileNames</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>List of makefile names of workspace units. </p>
<p>This list is automatically refreshed by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035" title="Generates makefile and writes its text representation to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefile(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a>. </p>

</div>
</div>
<a class="anchor" id="aa1b3293bb2f0a1ae7783bb645f216f62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_MakefilePaths</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>List of makefile paths of workspace units. </p>
<p>This list is automatically refreshed by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035" title="Generates makefile and writes its text representation to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefile(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a>. </p>

</div>
</div>
<a class="anchor" id="a95da319fd45ea58130eb821412f268ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_MakefileText</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Contains plain text of makefile for the workspace. </p>
<p>Contents of makefile are generated by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#aef881aafe1c5e43a56ffdcff6b8d8b8d" title="Generates makefile text and writes it to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefileText(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a> before saving to a file. </p>

</div>
</div>
<a class="anchor" id="a5e1d4659d90551a37aa3f9f2254dff34"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_TargetDeps</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>List of dependencies of workspace units. </p>
<p>Each line of the list contains decorated project names separated by space character and represents dependencies of corresponding project contained in the workspace. Decorated names are used as makefile target names. This list is automatically refreshed by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035" title="Generates makefile and writes its text representation to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefile(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a>. </p>

</div>
</div>
<a class="anchor" id="aad71e4af12c3f47eea577bef49a71433"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_TargetNames</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>List of build target names of workspace units. </p>
<p>This list is automatically refreshed by <a class="el" href="../../d8/d67/classCCodeBlocksWorkspace.html#a2057d5876c3e450b04295066dcaef035" title="Generates makefile and writes its text representation to a file specified by FileName. ">CCodeBlocksWorkspace::GenerateMakefile(const CString&amp; FileName, CCodeBlocksBuildConfig&amp; Config)</a>. </p>

</div>
</div>
<a class="anchor" id="adbae0f57273b1e8e46b983859942476a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_Title</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Title of the workspace. </p>

</div>
</div>
<a class="anchor" id="aa76c64684c8b462b93a7066477a8e8fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CCodeBlocksWorkspace::m_Units</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>List of workspace units (projects) in the workspace. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="../../da/d0a/classCWorkspaceUnit.html" title="Workspace unit description. ">CWorkspaceUnit</a>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="../../d0/d86/cbworkspace_8h_source.html">cbworkspace.h</a></li>
<li>src/<a class="el" href="../../d9/d5a/cbworkspace_8cpp.html">cbworkspace.cpp</a></li>
<li>src/doc/<a class="el" href="../../d3/d8b/cbworkspace_8dox.html">cbworkspace.dox</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 9 2013 10:55:59 for cbp2make by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
